package com.ruoyi.system.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 需求对象 project
 *
 * @author EdwardXRX
 * @date 2024-04-12
 */
public class Project extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    private Long checker;

    private String checkerName;

    public String getCheckerName() {
        return checkerName;
    }

    public void setCheckerName(String checkerName) {
        this.checkerName = checkerName;
    }

    public Long getChecker() {
        return checker;
    }

    public void setChecker(Long checker) {
        this.checker = checker;
    }

    /**
     * 项目名
     */
    @Excel(name = "项目名")
    private String name;

    /**
     * 重点工作
     */
    @Excel(name = "重点工作")
    private String keyTask;

    private String suggestion;

    private String reason;

    public String getSuggestion() {
        return suggestion;
    }

    public void setSuggestion(String suggestion) {
        this.suggestion = suggestion;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    /**
     * 项目类型
     */
    @Excel(name = "项目类型")
    private Integer type=2;

    /**
     * 项目描述
     */
    @Excel(name = "项目描述")
    private String description;

    /**
     * 线条
     */
    @Excel(name = "线条")
    private Integer line;

    /**
     * 重点工作1
     */
    private Integer keyTask1;

    /**
     * 重点工作2
     */
    private Integer keyTask2;

    /**
     * 重点工作3
     */
    private Integer keyTask3;

    /**
     * 奖项
     */
    private Integer prize;

    public String getKeyTask() {
        return keyTask;
    }

    public void setKeyTask(String keyTask) {
        this.keyTask = keyTask;
    }

    /**
     * 获奖时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "获奖时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date awardTime;

    /**
     * 文件
     */
    private String file;

    private String pic;

    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    /**
     * 创新点
     */
    @Excel(name = "创新点")
    private String innovation;

    /**
     * 创建人id
     */
    @Excel(name = "创建人id")
    private Long userId;

    /**
     * 浏览量
     */
    @Excel(name = "浏览量")
    private Integer clickNum;

    /**
     * 其他奖项
     */
    @Excel(name = "其他奖项")
    private String otherPrize;

    /**
     * 审核人1
     */
    @Excel(name = "审核人1")
    private Long checker1;

    private String checker1Name;

    private String checker2Name;

    public String getChecker1Name() {
        return checker1Name;
    }

    public void setChecker1Name(String checker1Name) {
        this.checker1Name = checker1Name;
    }

    public String getChecker2Name() {
        return checker2Name;
    }

    public void setChecker2Name(String checker2Name) {
        this.checker2Name = checker2Name;
    }

    /**
     * 审核人2
     */
    @Excel(name = "审核人2")
    private Long checker2;

    /**
     * 项目状态
     */
    @Excel(name = "项目状态")
    private Integer state;

    /**
     * 需求人数
     */
    @Excel(name = "需求人数")
    private Integer needNum;

    /**
     * $column.columnComment
     */
    @Excel(name = "是否可见")
    private Integer isShow;

    public Integer getIsClaimed() {
        return isClaimed;
    }

    public void setIsClaimed(Integer isClaimed) {
        this.isClaimed = isClaimed;
    }

    @Excel(name = "认领状态")
    private Integer isClaimed;

    @Excel(name = "团队满员状态")
    private Integer isFull=0;

    public Integer getIsFull() {
        return isFull;
    }

    public void setIsFull(Integer isFull) {
        this.isFull = isFull;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getType() {
        return type;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public void setLine(Integer line) {
        this.line = line;
    }

    public Integer getLine() {
        return line;
    }

    public void setKeyTask1(Integer keyTask1) {
        this.keyTask1 = keyTask1;
    }

    public Integer getKeyTask1() {
        return keyTask1;
    }

    public void setKeyTask2(Integer keyTask2) {
        this.keyTask2 = keyTask2;
    }

    public Integer getKeyTask2() {
        return keyTask2;
    }

    public void setKeyTask3(Integer keyTask3) {
        this.keyTask3 = keyTask3;
    }

    public Integer getKeyTask3() {
        return keyTask3;
    }

    public void setPrize(Integer prize) {
        this.prize = prize;
    }

    public Integer getPrize() {
        return prize;
    }

    public void setAwardTime(Date awardTime) {
        this.awardTime = awardTime;
    }

    public Date getAwardTime() {
        return awardTime;
    }

    public void setFile(String file) {
        this.file = file;
    }

    public String getFile() {
        return file;
    }

    public void setInnovation(String innovation) {
        this.innovation = innovation;
    }

    public String getInnovation() {
        return innovation;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public void setClickNum(Integer clickNum) {
        this.clickNum = clickNum;
    }

    public Integer getClickNum() {
        return clickNum;
    }

    public void setOtherPrize(String otherPrize) {
        this.otherPrize = otherPrize;
    }

    public String getOtherPrize() {
        return otherPrize;
    }

    public void setChecker1(Long checker1) {
        this.checker1 = checker1;
    }

    public Long getChecker1() {
        return checker1;
    }

    public void setChecker2(Long checker2) {
        this.checker2 = checker2;
    }

    public Long getChecker2() {
        return checker2;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Integer getState() {
        return state;
    }

    public void setNeedNum(Integer needNum) {
        this.needNum = needNum;
    }

    public Integer getNeedNum() {
        return needNum;
    }

    public void setIsShow(Integer isShow) {
        this.isShow = isShow;
    }

    public Integer getIsShow() {
        return isShow;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("name", getName())
                .append("type", getType())
                .append("description", getDescription())
                .append("line", getLine())
                .append("keyTask1", getKeyTask1())
                .append("keyTask2", getKeyTask2())
                .append("keyTask3", getKeyTask3())
                .append("prize", getPrize())
                .append("awardTime", getAwardTime())
                .append("file", getFile())
                .append("pic", getPic())
                .append("innovation", getInnovation())
                .append("userId", getUserId())
                .append("clickNum", getClickNum())
                .append("otherPrize", getOtherPrize())
                .append("checker1", getChecker1())
                .append("checker2", getChecker2())
                .append("state", getState())
                .append("needNum", getNeedNum())
                .append("isShow", getIsShow())
                .append("isFull", getIsFull())
                .append("isClaimed", getIsClaimed())
                .append("createTime", getCreateTime())
                .toString();
    }
}
